﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Sockets;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;

/*********************************************************
 * 命名空间 Simple.BasicNet.Core.Configuration
 * 接口名称 IConfiguration
 * 开发人员：11920
 * 创建时间：2023/4/18 14:32:45
 * 描述说明：
 * 更改历史：
 * 
 * *******************************************************/
namespace Simple.Framework.Configuration
{
	public interface IConfiguration
	{
		/// <summary>
		/// 
		/// </summary>
		/// <param name="key"></param>
		/// <returns></returns>
		public IConfiguration GetSection(string key);
		/// <summary>
		/// 
		/// </summary>
		/// <typeparam name="T"></typeparam>
		/// <param name="key"></param>
		/// <returns></returns>
		public T GetValue<T>(string key);
		/// <summary>
		/// 
		/// </summary>
		/// <typeparam name="T"></typeparam>
		/// <returns></returns>
		public T GetValue<T>();


		public T GetValue<T>(string[] keys);
	
		public object GetValue(string[] keys, Type type);

		public object GetValue(Type type);
	}
}
